SQL DEFAULT Constraint

DEFAULT கட்டுப்பாட்டைப் பற்றி அறிந்து, நெடுவரிசைகளுக்கு இயல்புநிலை மதிப்புகளை எவ்வாறு அமைப்பது என்பதைக் கற்றுக்கொள்ளுங்கள்

SQL DEFAULT Constraint என்றால் என்ன?

DEFAULT கட்டுப்பாடு ஒரு நெடுவரிசைக்கு இயல்புநிலை மதிப்பை அமைக்கப் பயன்படுகிறது.

வேறு எந்த மதிப்பும் குறிப்பிடப்படாவிட்டால், இயல்புநிலை மதிப்பு அனைத்து புதிய பதிவுகளுக்கும் சேர்க்கப்படும்.

💡 முக்கியமான குறிப்பு:

DEFAULT கட்டுப்பாடு தரவு உள்ளீட்டை எளிதாக்குகிறது, ஏனெனில் இது பொதுவாகப் பயன்படுத்தப்படும் மதிப்புகளை தானாகவே வழங்குகிறது மற்றும் பயனர்கள் ஒவ்வொரு முறையும் மதிப்புகளை உள்ளிட வேண்டியதில்லை.

CREATE TABLE-ல் SQL DEFAULT

"Persons" அட்டவணை உருவாக்கப்படும் போது "City" நெடுவரிசைக்கு DEFAULT மதிப்பை அமைக்க பின்வரும் SQL பயன்படுத்தப்படுகிறது:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255) DEFAULT 'Sandnes'
);

கணினி மதிப்புகளைச் செருக DEFAULT கட்டுப்பாட்டைப் பயன்படுத்துதல்

DEFAULT கட்டுப்பாடு GETDATE() போன்ற செயல்பாடுகளைப் பயன்படுத்தி கணினி மதிப்புகளைச் செருகவும் பயன்படுத்தலாம்:

தற்போதைய தேதியை இயல்புநிலையாக அமைத்தல்:

CREATE TABLE Orders (
    ID int NOT NULL,
    OrderNumber int NOT NULL,
    OrderDate date DEFAULT GETDATE()
);

📝 குறிப்பு:

GETDATE() செயல்பாடு தற்போதைய தேதி மற்றும் நேரத்தை வழங்குகிறது. புதிய ஆர்டர் சேர்க்கப்படும் போது, OrderDate தானாகவே தற்போதைய தேதியுடன் நிரப்பப்படும்.

ALTER TABLE-ல் SQL DEFAULT

அட்டவணை ஏற்கனவே உருவாக்கப்பட்ட பிறகு "City" நெடுவரிசையில் DEFAULT கட்டுப்பாட்டை உருவாக்க, பின்வரும் SQL-ஐப் பயன்படுத்தவும்:

MySQL:

ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';

SQL Server:

ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;

Oracle:

ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';

⚠️ குறிப்பு:

வெவ்வேறு தரவுத்தள அமைப்புகள் DEFAULT கட்டுப்பாடுகளைச் சேர்ப்பதற்கும் மாற்றுவதற்கும் வெவ்வேறு தொடரியலைக் கொண்டுள்ளன. உங்கள் குறிப்பிட்ட தரவுத்தள அமைப்பிற்கு ஏற்ற தொடரியலைப் பயன்படுத்துவதை உறுதி செய்யவும்.

DEFAULT கட்டுப்பாட்டை நீக்குதல்

DEFAULT கட்டுப்பாட்டை நீக்க, பின்வரும் SQL-ஐப் பயன்படுத்தவும்:

MySQL:

ALTER TABLE Persons
ALTER City DROP DEFAULT;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;

DEFAULT கட்டுப்பாட்டின் நன்மைகள்

தானியங்கி மதிப்புகள்

  • தரவு உள்ளீட்டை எளிதாக்குகிறது
  • பொதுவான மதிப்புகளை தானாகவே வழங்குகிறது
  • பயனர் உள்ளீட்டு தேவையைக் குறைக்கிறது

கணினி மதிப்புகள்

  • தற்போதைய தேதி/நேரத்தை தானாகவே அமைக்கிறது
  • கணினி-உருவாக்கப்பட்ட மதிப்புகளை வழங்குகிறது
  • துல்லியமான நேர முத்திரைகளை உறுதி செய்கிறது

தரவு ஒருமைப்பாடு

  • நிலையான இயல்புநிலை மதிப்புகளை வழங்குகிறது
  • தரவு நிலைத்தன்மையை பராமரிக்கிறது
  • தவறான தரவு உள்ளீட்டைக் குறைக்கிறது

நடைமுறை உதாரணங்கள்

நாடு மற்றும் நிலை

இயல்புநிலை நாடு மற்றும் செயலில் உள்ள நிலை

CREATE TABLE Users (
    UserID int PRIMARY KEY,
    Country varchar(50) DEFAULT 'India',
    Status varchar(20) DEFAULT 'Active',
    CreatedDate datetime DEFAULT GETDATE()
);

ஆர்டர் மற்றும் பங்கு

இயல்புநிலை ஆர்டர் நிலை மற்றும் பங்கு அளவு

CREATE TABLE Products (
    ProductID int PRIMARY KEY,
    StockQuantity int DEFAULT 0,
    IsAvailable bit DEFAULT 1,
    LastRestocked date DEFAULT GETDATE()
);

பயனர் அமைப்புகள்

இயல்புநிலை பயனர் விருப்பங்கள்

CREATE TABLE UserSettings (
    SettingID int PRIMARY KEY,
    Theme varchar(20) DEFAULT 'Light',
    Language varchar(10) DEFAULT 'Tamil',
    NotificationsEnabled bit DEFAULT 1
);

கணினி செயல்பாடுகளுடன் DEFAULT

தற்போதைய தேதி மற்றும் நேரம்

-- SQL Server
CreatedDate datetime DEFAULT GETDATE()

-- MySQL
CreatedDate datetime DEFAULT CURRENT_TIMESTAMP

-- Oracle
CreatedDate DATE DEFAULT SYSDATE

தற்போதைய பயனர்

-- SQL Server
CreatedBy varchar(50) DEFAULT USER_NAME()

-- MySQL
CreatedBy varchar(50) DEFAULT USER()

-- Oracle
CreatedBy varchar(50) DEFAULT USER

கணித மதிப்புகள்

-- Default tax rate
TaxRate decimal(5,2) DEFAULT 0.18

-- Default discount
Discount decimal(5,2) DEFAULT 0.00

-- Default quantity
Quantity int DEFAULT 1

பயிற்சி

SQL DEFAULT கட்டுப்பாட்டின் முதன்மை நோக்கம் என்ன?

ஒரு நெடுவரிசையில் உள்ள அனைத்து மதிப்புகளும் தனித்துவமாக இருப்பதை உறுதி செய்ய
✗ தவறு! இது UNIQUE கட்டுப்பாட்டின் நோக்கம்
எந்த மதிப்பும் குறிப்பிடப்படாதபோது ஒரு நெடுவரிசைக்கு இயல்புநிலை மதிப்பை அமைக்க
✓ சரி! DEFAULT கட்டுப்பாடு ஒரு நெடுவரிசைக்கு இயல்புநிலை மதிப்பை அமைக்கிறது, இது மதிப்பு குறிப்பிடப்படாதபோது தானாகவே பயன்படுத்தப்படும்
ஒரு நெடுவரிசையில் உள்ள மதிப்புகளின் வரம்பைக் கட்டுப்படுத்த
✗ தவறு! இது CHECK கட்டுப்பாட்டின் நோக்கம்
ஒரு நெடுவரிசையில் NULL மதிப்புகளைத் தடுக்க
✗ தவறு! இது NOT NULL கட்டுப்பாட்டின் நோக்கம்